This description relates to downloading media objects.
As shown in FIG. 1, media objects such as files 10, for example, can be downloaded 12 by a server 14 through a communication channel 13 to a mobile device 16. To facilitate this download, an application (app) 18 running on the mobile device may use a mobile file download (MFD) function 20 provided by the device's operating system (OS) 22.
For example, a news app can request download of a 10-minute “news update” video once per day. Once the app requests the download, a mobile file download (MFD) function of the OS (for example, the NSUrlSession API in Apple's iOS7 operating system) takes responsibility for downloading the file from the server. The server may be part of a content delivery network (CDN) 24 that includes a file storage service 26 where the file is stored.
The OS may signal the app when the download is finished, so that the app can, e.g., notify the user or update the app's internal data store 28.
Media objects are often packaged as many small files expressed in a streaming format. The small files are often called “fragments.” When a mobile device is connected to the Internet, the device can download these fragments sequentially and render them (for example, present a video to a user of the device) while downloading; this concurrent “download-and-play” process is typically called ‘streaming.’ Usually the device discards the downloaded fragment shortly after it has been played. Streaming uses an Internet connection during playout of the media object. To allow a mobile device to play out a media object when the device does not have an Internet connection, the mobile device can download the media object before playout. Doing so may require the mobile device to download the fragments comprising the media object. However, in some cases, MFD systems are not designed to handle the download of many files.